<html>
<head>
<script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhR_wWLPFku8Ix9i2SXYRVK3e45q1BQUd_beF8dtzKET_EteAjPdGDwqpQ'></script>

<script src="../../OLLoader.js"></script>
<script src="../../../lib/deprecated.js"></script>
<script type="text/javascript">
    var isMozilla = (navigator.userAgent.indexOf("compatible") == -1);
    var layer; 

    var name = 'Test Layer';
    var url = "http://labs.metacarta.com/cgi-bin/mapserv";
    var params = { map: '/mapdata/vmap_wms.map', 
                   layers: 'basic'};

    function test_Layer_MapServer_Reproject (t) { 
        var validkey = (window.location.protocol == "file:") ||
                       (window.location.host == "localhost") ||
                       (window.location.host == "openlayers.org");

        if (OpenLayers.BROWSER_NAME == "opera" || OpenLayers.BROWSER_NAME == "safari") {
            t.plan(1);
            t.debug_print("Can't test google reprojection in Opera or Safari.");
        } else if(validkey) {
            t.plan(5);
            var map = new OpenLayers.Map('map');
            var layer = new OpenLayers.Layer.Google("Google");
            map.addLayer(layer);
            layer = new OpenLayers.Layer.MapServer(name, url, params, {reproject: true, isBaseLayer: false, buffer: 2});
            layer.isBaseLayer=false;
            map.addLayer(layer);
            map.setCenter(new OpenLayers.LonLat(0,0), 5);
            var tile = layer.grid[0][0];
            tile.draw(true); // the tile queue defers the drawing
            t.eq( tile.bounds.left, -22.5, "left side matches" ); 
            t.eq( tile.bounds.right, -11.25, "top side matches" ); 
            t.eq( tile.bounds.bottom.toFixed(6), '11.178402', "bottom side matches" ); 
            t.eq( tile.bounds.top.toFixed(6), '21.943046', "top side matches" );
            map.destroy();
        } else {
            t.plan(1);
            t.debug_print("can't test google layer from " +
                          window.location.host);
        }

        var map = new OpenLayers.Map('map');
        layer = new OpenLayers.Layer.MapServer(name, url, params, {buffer:2});
        map.addLayer(layer);
        map.setCenter(new OpenLayers.LonLat(0,0), 5);
        var tile = layer.grid[0][0];
        t.ok( tile.bounds.equals(new OpenLayers.Bounds(-33.75, 33.75, -22.5, 45)), "okay");
        map.destroy();
    }
    
</script>
</head>
<body>
<div id="map" style="width:500px;height:550px"></div>
</body>
</html>
